//package com.snail.controller;
//
//import com.snail.service.ProductSearchService;
//import lombok.RequiredArgsConstructor;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.http.ResponseEntity;
//import org.springframework.web.bind.annotation.*;
//
//import javax.naming.directory.SearchResult;
//import java.util.Map;
//
///**
// * @author cici
// * @description 商品搜索
// * @date 2025/8/13 17:24
// */
//@Slf4j
//@RestController
//@RequestMapping("/api/products")
//@RequiredArgsConstructor
//public class ProductController {
//    private final ProductSearchService productSearchService;
//
//    /**
//     * AI增强的商品搜索
//     */
//    @GetMapping("/search/ai")
//    public ResponseEntity<SearchResult> searchWithAI(
//            @RequestParam String query,
//            @RequestParam(defaultValue = "0") @Min(0) Integer page,
//            @RequestParam(defaultValue = "10") @Min(1) @Max(100) Integer size,
//            @RequestParam(required = false) String category,
//            @RequestParam(required = false) Double minPrice,
//            @RequestParam(required = false) Double maxPrice) {
//
//        log.info("AI搜索请求: query='{}', page={}, size={}, category={}, price=[{}, {}]",
//                query, page, size, category, minPrice, maxPrice);
//
//        long startTime = System.currentTimeMillis();
//
//        SearchResult result = productSearchService.searchWithAI(
//                query, page, size, category, minPrice, maxPrice);
//
//        double searchTime = (System.currentTimeMillis() - startTime) / 1000.0;
//        result.setSearchTime(searchTime);
//
//        return ResponseEntity.ok(result);
//    }
//
//    /**
//     * 传统搜索
//     */
//    @GetMapping("/search")
//    public ResponseEntity<SearchResult> search(
//            @RequestParam String query,
//            @RequestParam(defaultValue = "0") @Min(0) Integer page,
//            @RequestParam(defaultValue = "10") @Min(1) @Max(100) Integer size,
//            @RequestParam(required = false) String category,
//            @RequestParam(required = false) Double minPrice,
//            @RequestParam(required = false) Double maxPrice) {
//
//        log.info("传统搜索请求: query='{}', page={}, size={}", query, page, size);
//
//        long startTime = System.currentTimeMillis();
//
//        SearchResult result = productSearchService.traditionalSearch(
//                query, page, size, category, minPrice, maxPrice);
//
//        double searchTime = (System.currentTimeMillis() - startTime) / 1000.0;
//        result.setSearchTime(searchTime);
//
//        return ResponseEntity.ok(result);
//    }
//
//    /**
//     * 分析搜索意图
//     */
//    @PostMapping("/search/analyze")
//    public ResponseEntity<Map<String, Object>> analyzeSearchIntent(
//            @RequestBody Map<String, String> request) {
//
//        String query = request.get("query");
//        if (query == null || query.trim().isEmpty()) {
//            return ResponseEntity.badRequest().build();
//        }
//
//        log.info("搜索意图分析请求: query='{}'", query);
//
//        Map<String, Object> analysis = productSearchService.analyzeSearchIntent(query);
//
//        return ResponseEntity.ok(analysis);
//    }
//
//    /**
//     * 搜索建议
//     */
//    @GetMapping("/search/suggestions")
//    public ResponseEntity<Map<String, Object>> getSearchSuggestions(
//            @RequestParam String query,
//            @RequestParam(defaultValue = "5") @Min(1) @Max(10) Integer limit) {
//
//        // 这里可以实现基于历史搜索、热门搜索等的建议逻辑
//        // 暂时返回基本的建议结构
//        Map<String, Object> suggestions = Map.of(
//                "query", query,
//                "suggestions", java.util.List.of(),
//                "categories", java.util.List.of(),
//                "brands", java.util.List.of()
//        );
//
//        return ResponseEntity.ok(suggestions);
//    }
//}
